115 research outputs found

    L-Py, an open L-systems framework in Python

    Get PDF
    International audienceL-systems were conceived as a mathematical framework for modeling growth of plants. In this paper, we present L-Py, a simulation software that mixes L-systems construction with the Python high-level modeling language. In addition to this software module, an integrated visual development environment has been developed that facilitates the creation of plant models. In particular, easy to use optimization tools have been integrated. Thanks to Python and its modular approach, this framework makes it possible to integrate a variety of tools defined in different modeling context, in particular tools from the OpenAlea platform. Additionally, it can be integrated as a simple growth simulation module into more complex computational pipelines

    L-Py: An L-System Simulation Framework for Modeling Plant Architecture Development Based on a Dynamic Language

    Get PDF
    The study of plant development requires increasingly powerful modeling tools to help understand and simulate the growth and functioning of plants. In the last decade, the formalism of L-systems has emerged as a major paradigm for modeling plant development. Previous implementations of this formalism were made based on static languages, i.e., languages that require explicit definition of variable types before using them. These languages are often efficient but involve quite a lot of syntactic overhead, thus restricting the flexibility of use for modelers. In this work, we present an adaptation of L-systems to the Python language, a popular and powerful open-license dynamic language. We show that the use of dynamic language properties makes it possible to enhance the development of plant growth models: (i) by keeping a simple syntax while allowing for high-level programming constructs, (ii) by making code execution easy and avoiding compilation overhead, (iii) by allowing a high-level of model reusability and the building of complex modular models, and (iv) by providing powerful solutions to integrate MTG data-structures (that are a common way to represent plants at several scales) into L-systems and thus enabling to use a wide spectrum of computer tools based on MTGs developed for plant architecture. We then illustrate the use of L-Py in real applications to build complex models or to teach plant modeling in the classroom

    Introduction to OpenAlea, a platform for plant modeling

    Get PDF
    International audienceTalk given by Thomas Cokelaer at IHC conference, lisbon 2010 on behalf of OpenAlea team and developers

    Template banks to search for compact binaries with spinning components in gravitational wave data

    Get PDF
    Gravitational waves from coalescing compact binaries are one of the most promising sources for detectors such as LIGO, Virgo and GEO600. If the components of the binary posess significant angular momentum (spin), as is likely to be the case if one component is a black hole, spin-induced precession of a binary's orbital plane causes modulation of the gravitational-wave amplitude and phase. If the templates used in a matched-filter search do not accurately model these effects then the sensitivity, and hence the detection rate, will be reduced. We investigate the ability of several search pipelines to detect gravitational waves from compact binaries with spin. We use the post-Newtonian approximation to model the inspiral phase of the signal and construct two new template banks using the phenomenological waveforms of Buonanno, Chen and Vallisneri. We compare the performance of these template banks to that of banks constructed using the stationary phase approximation to the non-spinning post-Newtonian inspiral waveform currently used by LIGO and Virgo in the search for compact binary coalescence. We find that, at the same false alarm rate, a search pipeline using phenomenological templates is no more effective than a pipeline which uses non-spinning templates. We recommend the continued use of the non-spinning stationary phase template bank until the false alarm rate associated with templates which include spin effects can be substantially reduced.Comment: 11 pages, 3 figure

    VisuAlea, Towards a Scientific Modelling Environment using Visual Programming

    Get PDF
    International audienceData-flows and Visual Programming Environments (VPE) are used in many scientific domains such as data analysis and visualisation (LabView, VTK, VisTrails, Orange). One of the main interests of VPEs is the ability for users to create and modify dataflows using a graphical interface without any specific programming knowledge. We developed OpenAlea ( OpenAlea wiki) that is a python-based open-source software. It provides a visual programming environment, called VisuAlea , which is written in Python and PyQt. Within VisuAlea, users are able to dynamically combine existing and independent pieces of software into a customizable dataflow. Although OpenAlea and VisuAlea are mainly used in the context of plant science, they can be efficiently used in other scientific domains. A VPE that is implemented in Python language offers several interesting points for managing scientific workflows. First, users have access to the program state at run-time and thus can introspect, modify, document and debug their workflows interactively. Second, users can build graphically complex workflow by assembling both scientific python packages (e.g., numpy, scipy and matplotlib) with other software components written in different languages (C, C++, Fortran, Java or R). Finally, the visualisation of the workflow's structure ease the communication between different users. In VisuAlea, each component is provided with a graphical interface that is automatically generated. Moreover, dataflow model of computation allows to implement lazy evaluation, and automatic parallelisation. VPEs have major drawbacks compared to textual programming (e.g., iteration structures are difficult to represent since dataflow is a directed acyclic graph). However, solutions may be found to cope with these issues. For instance, in VisuAlea, we have introduced functional loops like map to represent iteration structures. Although several VPE have been implemented in Python (e.g. Orange, VisTrails, Viper), their visual environments are not reusable because functional and graphical parts are not separated. In OpenAlea, we have separated the dataflow graph, the evaluation algorithm and the GUI to allow other projects to reuse only the GUI part with their own data structure. The OpenAlea.GraphEditor package implements the logic and the abstract widgets to edit any types of graph such as dataflow without dependency on other OpenAlea packages. Therefore, other projects can reuse OpenAlea.GraphEditor with their own graph data structure via a pluggable system. In this talk, we will briefly present the status of OpenAlea/VisuAlea, dicuss the advantages and drawbacks of a visual programming language, and present some key functionalities of Visualea such as looping technics and parallelism. Then, we will present the GraphEditor package with a brief tutorial. Finally, we will present our methodology to manage the project (e.g. deployment, documentation and quality assurance using continuous integration and a compilation farm)

    VisuAlea, Towards a Scientific Modelling Environment using Visual Programming

    Get PDF
    International audienceData-flows and Visual Programming Environments (VPE) are used in many scientific domains such as data analysis and visualisation (LabView, VTK, VisTrails, Orange). One of the main interests of VPEs is the ability for users to create and modify dataflows using a graphical interface without any specific programming knowledge. We developed OpenAlea ( OpenAlea wiki) that is a python-based open-source software. It provides a visual programming environment, called VisuAlea , which is written in Python and PyQt. Within VisuAlea, users are able to dynamically combine existing and independent pieces of software into a customizable dataflow. Although OpenAlea and VisuAlea are mainly used in the context of plant science, they can be efficiently used in other scientific domains. A VPE that is implemented in Python language offers several interesting points for managing scientific workflows. First, users have access to the program state at run-time and thus can introspect, modify, document and debug their workflows interactively. Second, users can build graphically complex workflow by assembling both scientific python packages (e.g., numpy, scipy and matplotlib) with other software components written in different languages (C, C++, Fortran, Java or R). Finally, the visualisation of the workflow's structure ease the communication between different users. In VisuAlea, each component is provided with a graphical interface that is automatically generated. Moreover, dataflow model of computation allows to implement lazy evaluation, and automatic parallelisation. VPEs have major drawbacks compared to textual programming (e.g., iteration structures are difficult to represent since dataflow is a directed acyclic graph). However, solutions may be found to cope with these issues. For instance, in VisuAlea, we have introduced functional loops like map to represent iteration structures. Although several VPE have been implemented in Python (e.g. Orange, VisTrails, Viper), their visual environments are not reusable because functional and graphical parts are not separated. In OpenAlea, we have separated the dataflow graph, the evaluation algorithm and the GUI to allow other projects to reuse only the GUI part with their own data structure. The OpenAlea.GraphEditor package implements the logic and the abstract widgets to edit any types of graph such as dataflow without dependency on other OpenAlea packages. Therefore, other projects can reuse OpenAlea.GraphEditor with their own graph data structure via a pluggable system. In this talk, we will briefly present the status of OpenAlea/VisuAlea, dicuss the advantages and drawbacks of a visual programming language, and present some key functionalities of Visualea such as looping technics and parallelism. Then, we will present the GraphEditor package with a brief tutorial. Finally, we will present our methodology to manage the project (e.g. deployment, documentation and quality assurance using continuous integration and a compilation farm)
    • 

    corecore